package day_2022_4_to_7.day48;

import java.util.Scanner;

/**
 * 求离n 最近的fib数
 * @author haomin
 * @date 2022/04/25 10:30
 **/
public class Day7_1_FindFirstSecondFib{
    // 指 n 左边第一个fib数
    private static int first = 0;
    // 指 n 右边第一个fib数
    private static int second = 0;

    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        findFib(n);
        if((n - first) < (second - n)){
            // 左边第一个fib数离 n 近
            System.out.println(n - first);
        }else {
            // 右边第一个fib数离 n 近
            System.out.println(second - n);
        }
    }

    private static void findFib(int n) {
        int a = 1;
        int b = 1;
        int c = a + b;
        // 循环结束时，c 刚好是n 右边第一个fib数，b则是n 左边第一个fib数
        while (c <= n) {
            a = b;
            b = c;
            c = a + b;
        }
        first = b;
        second = c;
    }
}
